﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>
#include <stdlib.h>

//struct union enum
//static extern typedef 
//
//strcpy strcat  strcmp strstr strtok
//memcpy memmset memmove memcmp 

//fseel
//int main()
//{
//	FILE* pf = fopen("data.txt", "r");
//	if (!pf)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读
//	int ch = fgetc(pf);
//	printf("%c\n", ch);//a
//
//	ch = fgetc(pf);
//	printf("%c\n", ch);//b
//
//	ch = fgetc(pf);
//	printf("%c\n", ch);//c
//
//	ch = fgetc(pf);
//	printf("%c\n", ch);//d
//
//	fseek(pf,-4 , SEEK_CUR);
//	ch = fgetc(pf);
//	printf("%c\n", ch);//a
//
//	fseek(pf, -6, SEEK_END);
//	ch = fgetc(pf);
//	printf("%c\n", ch);//a
//
//	fseek(pf, 0, SEEK_SET);
//	ch = fgetc(pf);
//	printf("%c\n", ch);//a
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}

//ftell
//int main()
//{
//	FILE* pf = fopen("data.txt", "r");
//	if (!pf)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//
//	int ch = fgetc(pf);
//	printf("%c\n", ch);//a
//	
//	ch = fgetc(pf);
//	printf("%c\n", ch);//b
//	
//	ch = fgetc(pf);
//	printf("%c\n", ch);//c
//	
//	ch = fgetc(pf);
//	printf("%c\n", ch);//d
//
//	fseek(pf, 0, SEEK_END);
//	int n = ftell(pf);
//	printf("%d\n", n);
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}

//rewind
//int main()
//{
//		FILE* pf = fopen("data.txt", "r");
//		if (!pf)
//		{
//			perror("fopen");
//			return 1;
//		}
//		
//		int ch = fgetc(pf);
//		printf("%c\n", ch);//a
//		
//		ch = fgetc(pf);
//		printf("%c\n", ch);//b
//		
//		ch = fgetc(pf);
//		printf("%c\n", ch);//c
//		
//		ch = fgetc(pf);
//		printf("%c\n", ch);//d
//
//		rewind(pf);
//		ch = fgetc(pf);
//		printf("%c\n", ch);//d
//	
//		fclose(pf);
//		pf = NULL;
//	
//		return 0;
//}


